package com.cxl.price.service;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.cxl.parser.Grab;
import com.cxl.price.bean.Brand;
import com.cxl.price.bean.TaoBaoGood;
import com.cxl.price.dao.TaoBaoGoodDao;
import com.cxl.price.util.FinalStr;
import com.summer.core.service.impl.BaseServiceImpl;
import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.domain.ItemProp;
import com.taobao.api.domain.PropValue;
import com.taobao.api.request.ItempropsGetRequest;
import com.taobao.api.response.ItempropsGetResponse;

/**
 * @about: 淘宝商品 service 实现
 * @author: wwwlike
 * @create: 2011-07-02
 */
@Service
public class TaoBaoGoodServiceImpl extends BaseServiceImpl<TaoBaoGood, String, TaoBaoGoodDao>
		implements TaoBaoGoodService {

	private int sort_index;
	
	

	public int getSort_index() {
		return sort_index;
	}

	public void setSort_index(int sortIndex) {
		sort_index = sortIndex;
	}

	@Resource
	public void setDao(TaoBaoGoodDao dao) {
		this.dao = dao;
	}
	
	/*
	 * 判断taobaogood是否有这个链接的商品 
	 */
	public TaoBaoGood getObjFromUrl(String url)
	{
		
		TaoBaoGood TaoBaoGood=null;
		if(dao.get("fromUrl", url)!=null)
		TaoBaoGood=dao.get("fromUrl", url);
			else
		TaoBaoGood=new TaoBaoGood();
		
		return TaoBaoGood;
		
	}
	
	public void addTaoBaoGood(TaoBaoGood good)
	{
			if(good.getId()!=null)
			dao.update(good);
			else
			{
			dao.save(good);
			}
	}
	

	
	//获得品牌属性的PropValue  
	public PropValue getBrandProp(String brand,Long id) 
	{try {
		TaobaoClient client=new DefaultTaobaoClient(FinalStr.URL,FinalStr.APPKEY,FinalStr.SECRET);
		ItempropsGetRequest req=new ItempropsGetRequest();
		req.setFields("pid,name,must,multi,prop_values");
		req.setCid(id);
		req.setPid(20000L);
		ItempropsGetResponse response;
		
			response = client.execute(req);
		
		List<ItemProp> props=response.getItemProps();
	
		for(ItemProp prop:props)
		{
			List<PropValue> propValues=  prop.getPropValues();
		int sortIndex=0;
			for(PropValue propvalue:propValues)
			{
				//System.out.println(propvalue.getName());
				
				if(propvalue.getName().contains(brand))
				{
					setSort_index(sortIndex);
					return propvalue;
				}
				sortIndex++;
			}
		}
	} catch (ApiException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	return null;
	}
	
	
//	//获得型号的pid
//	public String getXingHaoPidVid(String xinhao,Long id,String chird_path) 
//	{try {
//		TaobaoClient client=new DefaultTaobaoClient(FinalStr.URL,FinalStr.APPKEY,FinalStr.SECRET);
//		ItempropsGetRequest req=new ItempropsGetRequest();
//		req.setFields("pid,name,must,multi,prop_values,sort_order");
//		req.setCid(id);
//		//req.setPid(20000L);
//		req.setParentPid(20000L);
//		ItempropsGetResponse response;
//		
//			response = client.execute(req);
//		
//		   List<ItemProp> props=response.getItemProps();
//	
//			ItemProp prop=props.get(sort);
//			Long pid=prop.getPid();
//			
//			List<PropValue> propValues=  prop.getPropValues();
//			
//			for(PropValue propvalue:propValues)
//			{
//				String name=propvalue.getName().toLowerCase();
//				
//				if(name.contains(xinhao.toLowerCase()))
//				{
//					
//					return pid+":"+propvalue.getVid();
//					
//				}
//			}
//
//	
//	} catch (Exception e) {
//		// TODO Auto-generated catch block
//		e.printStackTrace();
//	}
//	return null;
//	}
	
	
	
	
	
	

}
